package com.itany.corejava.code06_数组;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 石小俊
 * 2024年07月11日 11:22
 */
public class Test09_练习 {

    public static void main(String[] args) {
        test02();
    }

    /**
     * 有三个班,每个班有5名学生,提示用户分别输入学生的成绩,将数据保存到二维数组中
     * 计算每个班的平均分,全校的最高分与最低分
     */
    public static void test01() {
        Scanner sc = new Scanner(System.in);
        double[][] scores = new double[3][5];
        // 定义全校的最高分、最低分
        double max = 0, min = 100;
        // 外层循环控制班级
        for (int i = 0; i < scores.length; i++) {
            System.out.println("****************开始录入第" + (i + 1) + "个班级的学生成绩****************");
            // 定义当前班级的总分
            double sum = 0.0;
            // 内层循环控制学生
            for (int j = 0; j < scores[i].length; j++) {
                System.out.print("请输入第" + (j + 1) + "名学生的成绩:");
                scores[i][j] = sc.nextDouble();
                // 计算总分
                sum += scores[i][j];
                // 判断当前学生成绩是否是最高分,如果是则替换已有的最高分
                max = scores[i][j] > max ? scores[i][j] : max;
                // 判断当前学生成绩是否是最低分,如果是则替换已有的最低分
                min = scores[i][j] < min ? scores[i][j] : min;
            }
            System.out.println("第" + (i + 1) + "个班级的平均分为:" + sum / scores[i].length);
        }
        System.out.println("全校最高分为:" + max + ",最低分为:" + min);
    }

    /**
     * 定义一个4*4的二维数组,在控制台打印出来
     * 然后将第一行与第四行的数据交换,第二行与第三行的数据交换
     */
    public static void test02() {
        int[][] arr = {
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12},
                {13, 14, 15, 16}
        };
        System.out.println("****************交换前****************");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }

        int[] temp = arr[0];
        arr[0] = arr[3];
        arr[3] = temp;
        temp = arr[1];
        arr[1] = arr[2];
        arr[2] = temp;

        System.out.println("****************交换后****************");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }

}
